home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / tcl / xf2.3-p / xf2 / xf2.3 / elements / Message < prev    next >
Encoding:
Text File  |  1993-11-20  |  6.3 KB  |  196 lines

  1. # Program: xf
  2. # Description: handle message widgets
  3. #
  4. # $Header: Message[2.3] Wed Mar 10 11:59:06 1993 garfield@garfield frozen $
  5.  
  6. global xfDefaultConf
  7. set xfDefaultConf(message) 4
  8.  
  9. ##########
  10. # Procedure: XFAdd.Message
  11. # Description: add a message
  12. # Arguments: xfW - the widget
  13. #            xfName - a optional name
  14. #            xfType - add or config
  15. # Returns: none
  16. # Sideeffects: none
  17. ##########
  18. proc XFAdd.Message {xfW xfName xfType} {
  19.   global xfStatus
  20.  
  21.   XFEditSetStatus "Inserting Message..."
  22.   set xfName [XFMiscGetUniqueName $xfName message]
  23.   if {"$xfStatus(path)" == "."} {
  24.     if {"$xfType" == "add"} {
  25.       message .$xfName \
  26.         -text "$xfName" \
  27.         -aspect 1500 \
  28.         -relief raised
  29.     } {
  30.       message .$xfName
  31.     }
  32.  
  33.     XFMiscPositionWidget .$xfName
  34.     XFMiscBindWidgetTree .$xfName
  35.   } {
  36.     if {"$xfType" == "add"} {
  37.       message $xfStatus(path).$xfName \
  38.         -text "$xfName" \
  39.         -aspect 1500 \
  40.         -relief raised
  41.     } {
  42.       message $xfStatus(path).$xfName
  43.     }
  44.  
  45.     XFMiscPositionWidget $xfStatus(path).$xfName
  46.     XFMiscBindWidgetTree $xfStatus(path).$xfName
  47.   }
  48.  
  49.   incr xfStatus(elementCounter)
  50.   XFEditSetPath $xfStatus(path)
  51.   XFEditSetStatus "Inserting Message...done"
  52. }
  53.  
  54. ##########
  55. # Procedure: XFConfig.Message4
  56. # Description: configure a message
  57. # Arguments: xfW - the widget
  58. #            xfType - config type (add config)
  59. #            xfClass - the class we configure
  60. #            xfLeader - the leading window
  61. # Returns: none
  62. # Sideeffects: none
  63. ##########
  64. proc XFConfig.Message4 {xfW xfType xfClass {xfLeader ""}} {
  65.   global xfConf
  66.   global xfStatus
  67.  
  68.   if {"$xfType" == "add"} {
  69.     set xfName message$xfStatus(elementCounter)
  70.   } {
  71.     set xfName [XFMiscPathName $xfW]
  72.   }
  73.   XFEditSetStatus "Calling parameter setting for Message..."
  74.  
  75.   # building widget structure
  76.   XFTmpltToplevel .xf${xfClass}Config4 400x580 \
  77.     "Message parameters:[XFMiscPathTail $xfW]" $xfLeader
  78.  
  79.   XFElementInit $xfW .xf${xfClass}Config4 $xfType $xfClass \
  80.     XFMessageSetMessage4 parameters $xfName 4
  81.   XFElementAspect $xfW .xf${xfClass}Config4 $xfType $xfClass \
  82.     XFMessageSetMessage4
  83.   XFElementColor $xfW .xf${xfClass}Config4 $xfType  $xfClass bg \
  84.     background Background "Background" XFMessageSetMessage4
  85.   XFElementScale $xfW .xf${xfClass}Config4 $xfType $xfClass borderwidth \
  86.     borderWidth BorderWidth "Border width" "pixels" 40 \
  87.     XFMessageSetMessage4
  88.   XFElementFont $xfW .xf${xfClass}Config4 $xfType $xfClass font \
  89.     font Font "Font" XFMessageSetMessage4
  90.   if {$xfConf(kanji)} {
  91.     XFElementFont $xfW .xf${xfClass}Config4 $xfType $xfClass kanjifont \
  92.       kanjiFont KanjiFont "Kanji font" XFMessageSetMessage4
  93.   }
  94.   XFElementColor $xfW .xf${xfClass}Config4 $xfType $xfClass fg \
  95.     foreground Foreground "Foreground" XFMessageSetMessage4
  96.   XFElementJustify $xfW .xf${xfClass}Config4 $xfType $xfClass \
  97.     XFMessageSetMessage4
  98.   XFElementRelief $xfW .xf${xfClass}Config4 $xfType $xfClass \
  99.      XFMessageSetMessage4
  100.   XFElementTextVariable $xfW .xf${xfClass}Config4 $xfType $xfClass \
  101.     XFMessageSetMessage4
  102.   XFElementScale $xfW .xf${xfClass}Config4 $xfType $xfClass width \
  103.     width Width Width pixels 100 XFMessageSetMessage4
  104.  
  105.   if {"$xfType" == "add"} {
  106.     .xf${xfClass}Config4.params1.params2.justify.left select
  107.   }
  108.  
  109.   label .xf${xfClass}Config4.params1.params2.textMess \
  110.     -relief flat \
  111.     -anchor c \
  112.     -text "Text:"
  113.  
  114.   if {"$xfType" == "add"} {
  115.     XFTmpltText .xf${xfClass}Config4.params1.params2 text 0 $xfName
  116.   } {
  117.     XFTmpltText .xf${xfClass}Config4.params1.params2 text 0 \
  118.       [lindex [$xfW configure -text] 4]
  119.   }
  120.  
  121.   # save current parameter
  122.   if {$xfConf(kanji)} {
  123.     XFElementSave $xfW $xfClass {aspect background borderwidth font kanjifont foreground justify relief text textvariable width}
  124.   } {
  125.     XFElementSave $xfW $xfClass {aspect background borderwidth font foreground justify relief text textvariable width}
  126.   }
  127.  
  128.   # packing
  129.   pack append .xf${xfClass}Config4.params1.params2 \
  130.               .xf${xfClass}Config4.params1.params2.textMess {top fillx padx 6} \
  131.               .xf${xfClass}Config4.params1.params2.text {top fill expand}
  132.   pack append .xf${xfClass}Config4.params1 \
  133.               .xf${xfClass}Config4.params1.params2 {left fill expand}
  134.   pack append .xf${xfClass}Config4 \
  135.               .xf${xfClass}Config4.pathname {top fill frame center} \
  136.               .xf${xfClass}Config4.leave {bottom fill} \
  137.               .xf${xfClass}Config4.additional {bottom fill} \
  138.               .xf${xfClass}Config4.params1 {top fill expand}
  139.  
  140.   XFBindFormConnect .xf${xfClass}Config4.params1.params2 \
  141.     "XFMessageSetMessage4 $xfW 0 $xfClass"
  142.  
  143.   XFEditSetStatus "Calling parameter setting for Message...done"
  144. }
  145.  
  146. ##########
  147. # Procedure: XFMessageSetMessage4
  148. # Description: set message parameters
  149. # Arguments: xfW - the widget
  150. #            xfType - the type of setting (1 = set always, 0 = set
  151. #                     only if permanent apply is on)
  152. #            xfClass - the class we configure
  153. #            xfParam1 - ignored parameter
  154. # Returns: none
  155. # Sideeffects: none
  156. ##########
  157. proc XFMessageSetMessage4 {xfW xfType xfClass {xfParam1 ""}} {
  158.   global xfConf
  159.   global xfMisc
  160.  
  161.   if {$xfType == 0 && !$xfConf(applyParameters)} {
  162.     return
  163.   }
  164.   if {"[info commands $xfW]" == ""} {
  165.     return
  166.   }
  167.   XFMiscSetSymbolicName $xfW \
  168.     [.xf${xfClass}Config4.params1.params2.symname.symname get]
  169.  
  170.   XFMiscSetResource $xfW aspect \
  171.     [.xf${xfClass}Config4.params1.params2.aspect.aspect get]
  172.   XFMiscSetResource $xfW background \
  173.     [.xf${xfClass}Config4.params1.params2.bg.bg get]
  174.   XFMiscSetResource $xfW borderwidth \
  175.     [.xf${xfClass}Config4.params1.params2.borderwidth.borderwidth get]
  176.   XFMiscSetResource $xfW font \
  177.     [.xf${xfClass}Config4.params1.params2.font.font get]
  178.   if {$xfConf(kanji)} {
  179.     XFMiscSetResource $xfW kanjifont \
  180.       [.xf${xfClass}Config4.params1.params2.kanjifont.kanjifont get]
  181.   }
  182.   XFMiscSetResource $xfW foreground \
  183.     [.xf${xfClass}Config4.params1.params2.fg.fg get]
  184.   XFMiscSetResource $xfW justify $xfMisc(justify)
  185.   XFMiscSetResource $xfW relief $xfMisc(relief)
  186.   XFMiscSetResource $xfW text \
  187.     [XFMiscGetText .xf${xfClass}Config4.params1.params2.text.text]
  188.   XFMiscSetResource $xfW textvariable \
  189.     [.xf${xfClass}Config4.params1.params2.textvar.textvar get]
  190.   XFMiscSetResource $xfW width \
  191.     [.xf${xfClass}Config4.params1.params2.width.width get]
  192. }
  193.  
  194. # eof
  195.  
  196.